CREATE TABLE [dbo].[tb_CertificadosConceptosLiquidacion]
(
[idCertificado] [int] NOT NULL IDENTITY(1, 1),
[Agente] [int] NOT NULL,
[Concepto] [int] NULL,
[ValidezDesde] [datetime] NOT NULL,
[ValidezHasta] [datetime] NOT NULL,
[Observaciones] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[TipoCertificado] [int] NOT NULL,
[Liquidacion] [int] NULL,
[FPP] [datetime] NULL,
[Habilitado] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[NTUser] [int] NULL CONSTRAINT [DF_tb_CertificadosConceptosLiquidacion_NTUser] DEFAULT ([dbo].[sp_usuario](suser_sname())),
[FechaCarga] [datetime] NULL CONSTRAINT [DF_tb_CertificadosConceptosLiquidacion_FechaCarga] DEFAULT (getdate())
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[BorrarCertificado] ON [dbo].[tb_CertificadosConceptosLiquidacion] 
FOR DELETE 
AS
SET NOCOUNT ON
DECLARE @Cant INT 

SELECT @Cant=(SELECT COUNT(CDLP.Certificado) FROM Tb_CertificadosDeLiquidacionPagados CDLP INNER JOIN DELETED D ON CDLP.Certificado = D.IDCertificado WHERE Certificado=D.IdCertificado and Mes<>MONTH(GETDATE()) and Anio=YEAR(GETDATE()))
IF @Cant>0
BEGIN
	RAISERROR('No puede Borrar el Certificado Seleccionado. Existe un Pago sobre el mismo...', 16,1)
	ROLLBACK
END
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[Validez] ON [dbo].[tb_CertificadosConceptosLiquidacion] 
FOR INSERT, UPDATE
AS

DECLARE @CantidadAPagar INT

-- Validar Fecha de Validez Desde y Hasta Segun Tipo de Certificado
GO
ALTER TABLE [dbo].[tb_CertificadosConceptosLiquidacion] ADD CONSTRAINT [PK_tb_CertificadosConceptosLiquidacion] PRIMARY KEY NONCLUSTERED  ([idCertificado]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_CertificadosConceptosLiquidacion] WITH NOCHECK ADD CONSTRAINT [FK_tb_CertificadosConceptosLiquidacion_tb_TiposCertificadosConceptos] FOREIGN KEY ([TipoCertificado]) REFERENCES [dbo].[tb_TiposCertificadosConceptos] ([idCertificado])
GO
EXEC sp_bindrule N'[dbo].[S-N]', N'[dbo].[tb_CertificadosConceptosLiquidacion].[Habilitado]'
GO
